Ignore:
Timestamp:
Oct 7, 2007, 7:33:41 PM (18 years ago)
Author:
bird
Message:

trap.c ++.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kash/shinstance.h

    r1207 r1208  
    127127
    128128    /* trap.h */
    129     int                 pendingsigs;
     129    int                 pendingsigs;    /**< indicates some signal received */
     130
     131    /* trap.c */
     132    char                gotsig[NSIG];   /**< indicates specified signal received */
     133    char               *trap[NSIG+1];   /**< trap handler commands */
     134    char                sigmode[NSIG];  /**< current value of signal */
    130135
    131136    /* parse.h */
     
    277282    struct t_op const  *t_wp_op;
    278283
    279     /* trap.c */
    280     char                gotsig[NSIG];   /**< indicates specified signal received */
    281 
    282284} shinstance;
    283285
    284286
    285 extern shinstance *sh_create_root_shell(shinstance *inherit, int argc, char **argv);
     287extern shinstance *sh_create_root_shell(shinstance *, int, char **);
    286288char *sh_getenv(shinstance *, const char *);
    287289
    288290/* signals */
    289 #include <signal.h>
     291typedef void (*sh_sig_t)(shinstance *, int);
    290292#ifdef _MSC_VER
    291     typedef uint32_t sh_sigset_t;
     293 typedef uint32_t sh_sigset_t;
    292294#else
    293     typedef sigset_t sh_sigset_t;
    294 #endif
    295 
    296 typedef void (*sh_handler)(int);
    297 sh_handler sh_signal(shinstance *, int, sh_handler handler);
     295 typedef sigset_t sh_sigset_t;
     296#endif
     297struct sh_sigaction
     298{
     299    sh_sig_t    sh_handler;
     300    sh_sigset_t sh_mask;
     301    int         sh_flags;
     302};
     303#define SH_SIG_DFL ((sh_sig_t)SIG_DFL)
     304#define SH_SIG_IGN ((sh_sig_t)SIG_IGN)
     305
     306int sh_sigaction(int, const struct sh_sigaction *, struct sh_sigaction *);
     307sh_sig_t sh_signal(shinstance *, int, sh_sig_t);
    298308void sh_raise_sigint(shinstance *);
    299 void sh_sigemptyset(sh_sigset_t *set);
    300 int sh_sigprocmask(shinstance *, int op, sh_sigset_t const *new, sh_sigset_t *old);
     309void sh_sigemptyset(sh_sigset_t *);
     310int sh_sigprocmask(shinstance *, int, sh_sigset_t const *, sh_sigset_t *);
    301311void sh_abort(shinstance *);
    302312
Note: See TracChangeset for help on using the changeset viewer.