Skip to content

Instantly share code, notes, and snippets.

Avatar

Ivan Prisyazhnyy sitano

View GitHub Profile
@sitano
sitano / test_sqlite3_int_vs_stmt.cc
Created January 16, 2023 16:30
test_sqlite3_int_vs_stmt.cc
View test_sqlite3_int_vs_stmt.cc
#define _MULTI_THREADED
#include <sqlite3.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <stdlib.h>
#include <cstring>
#define SQLOK(line) do { \
@sitano
sitano / sample.c
Created January 3, 2023 15:15
define gdb symbol
View sample.c
https://stackoverflow.com/questions/7272558/can-we-define-a-new-data-type-in-a-gdb-session
// sample.c
#include "sample.h"
struct sample foo;
gcc -g -c sample.c
(gdb) add-symbol-file sample.o 0
add symbol table from file "sample.o" at
@sitano
sitano / test_sqlite5.cc
Created December 6, 2022 16:08
checking on the heap allocation greedy-ness
View test_sqlite5.cc
#define _MULTI_THREADED
#include <sqlite3.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <stdlib.h>
int print_row_cb(void *NotUsed, int argc, char **argv, char **azColName) {
NotUsed = 0;
@sitano
sitano / test_sqlite3_int.cc
Created December 2, 2022 15:32
test sqlite3 interrupt
View test_sqlite3_int.cc
#define _MULTI_THREADED
#include <sqlite3.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
int callback(void *, int, char **, char **);
void check(const char *str, int err);
void *threadfunc(void *parm);
@sitano
sitano / ruby_fork_pgkill_test.rb
Last active April 29, 2022 13:21
ruby_fork_pgkill_test.rb
View ruby_fork_pgkill_test.rb
$stdin.sync = true;
$stdout.sync = true;
$a = true
def handle(id, sig)
puts id.to_s + " got " + sig.to_s + " at " + Process.pid.to_s
$a = false
end
@sitano
sitano / gist:b12f4710eb3445aa993ed7782b88a3b5
Last active February 25, 2022 09:10
X1 Carbon Linux suspend fixes
View gist:b12f4710eb3445aa993ed7782b88a3b5
$ cat /etc/systemd/logind.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
@sitano
sitano / fork_reaper.c
Created November 18, 2021 14:46
test reaping caps
View fork_reaper.c
#include <stdio.h>
#include <unistd.h>
#include <sys/prctl.h>
int main() {
printf("origin: pid=%d, ppid=%d, pgid=%d\n", getpid(), getppid(), getpgid(getpid()));
printf("prctl %d\n", prctl(PR_SET_CHILD_SUBREAPER, 1, 0, 0, 0));
pid_t pid = fork();
@sitano
sitano / setns.c
Last active March 15, 2022 04:07
test setns
View setns.c
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <sched.h>
#include <sys/syscall.h> /* Definition of SYS_* constants */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/wait.h>
#include <time.h>
@sitano
sitano / docker_pg_pgb.sh
Created November 4, 2021 13:36
Local docker postgres+pgbouncer
View docker_pg_pgb.sh
docker run --rm --name pg -e POSTGRES_PASSWORD=123 -e POSTGRES_HOST_AUTH_METHOD=md5 postgres:latest
docker run --rm -e DATABASE_URL="postgres://postgres:123@172.17.0.2/postgres" -e POOL_MODE=session -p 5432:5432 --name pgb -it edoburu/pgbouncer /usr/bin/pgbouncer /etc/pgbouncer/pgbouncer.ini -v
psql postgres://postgres:123@pgb/
# by default latest versions of PG use SASL+SCRAM-SHA-256 that is not support by the pgbouncer docker image
@sitano
sitano / mmap.c
Last active October 27, 2021 13:10
testing mmap
View mmap.c
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>