Mercurial > hg > Members > aka > jupyter_CbC_kernel
view resources/master.c @ 68:d20180912a98
Merge branch 'master' of github.com:brendan-rius/jupyter-c-kernel
author | Brendan Rius <brendan.rius@gmail.com> |
---|---|
date | Sun, 13 Aug 2017 16:04:05 +0200 |
parents | 7857f8eea835 |
children |
line wrap: on
line source
#include <stdlib.h> #include <stdio.h> #include <dlfcn.h> typedef int (*main_t)(int, char **, char **); int main(int argc, char **argv, char **envp) { char *error = NULL; setbuf(stdout, NULL); setbuf(stderr, NULL); if (argc < 2) { fprintf(stderr, "USAGE: %s PROGRAM\nWhere PROGRAM is the user's program to supervise\n", argv[0]); return EXIT_FAILURE; } void *userhandle = dlopen(argv[1], RTLD_LAZY); if (userhandle == NULL) { fprintf(stderr, "%s: %s\n", argv[0], dlerror()); return EXIT_FAILURE; } dlerror(); main_t usermain = dlsym(userhandle, "main"); if ((error = dlerror()) != NULL) { fprintf(stderr, "%s: %s\n", argv[0], error); return EXIT_FAILURE; } /* Call Users main, but make master.c invisible by removing first argument */ return usermain(argc-1, argv+1, envp); }