+STATIC AFB_error callPluginApi(AFB_plugin *plugin, AFB_request *request) {
+ json_object *jresp, *jcall;
+ int idx, status, sig;
+ int signals[]= {SIGALRM, SIGSEGV, SIGFPE, 0};
+
+ /*---------------------------------------------------------------
+ | Signal handler defined inside CallPluginApi to access Request
+ +---------------------------------------------------------------- */
+ void pluginError (int signum) {
+ sigset_t sigset;
+ AFB_clientCtx *context;
+
+ // unlock signal to allow a new signal to come
+ sigemptyset (&sigset);
+ sigaddset (&sigset, signum);
+ sigprocmask (SIG_UNBLOCK, &sigset, 0);
+
+ fprintf (stderr, "Oops:%s Plugin Api Timeout timeout\n", configTime());
+ longjmp (request->checkPluginCall, signum);
+ }