Changeset 132 for trunk/src/sh_calls.c


Ignore:
Timestamp:
Oct 23, 2007, 11:44:41 PM (17 years ago)
Author:
rainer
Message:

Make utility functions thread-safe.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sh_calls.c

    r22 r132  
    115115  int error;
    116116  long int val_retry = -1;
     117  char errbuf[SH_ERRBUF_SIZE];
    117118  errno              = 0;
    118119
     
    126127  if (val_retry < 0) {
    127128      sh_error_handle ((-1), file, line, error, MSG_ERR_SIGACT,
    128                        sh_error_message(error),
     129                       sh_error_message(error, errbuf, sizeof(errbuf)),
    129130                       (long) signum );
    130131  }
     
    161162  long int val_retry = 0;
    162163  static struct sockaddr_in new_addr;
     164  char errbuf[SH_ERRBUF_SIZE];
    163165
    164166  SL_ENTER(_("retry_connect"));
     
    189191     */
    190192    sh_error_handle ((-1), file, line, error, MSG_ERR_CONNECT,
    191                      sh_error_message(error),
     193                     sh_error_message(error, errbuf, sizeof(errbuf)),
    192194                     (long) sockfd,
    193195                     /*@-unrecog -type@*/
     
    212214  int  error;
    213215  long int val_retry = -1;
     216  char errbuf[SH_ERRBUF_SIZE];
     217
    214218  ACCEPT_TYPE_ARG3 my_addrlen = (ACCEPT_TYPE_ARG3) *addrlen;
    215219
     
    225229  if (val_retry < 0) {
    226230      sh_error_handle ((-1), file, line, error, MSG_ERR_ACCEPT,
    227                        sh_error_message(error),
     231                       sh_error_message(error, errbuf, sizeof(errbuf)),
    228232                       (long) fd );
    229233  }
     
    237241  int error;
    238242  long int val_retry = -1;
     243  char errbuf[SH_ERRBUF_SIZE];
    239244 
    240245  SL_ENTER(_("retry_lstat"));
     
    245250  error = errno;
    246251  if (val_retry < 0) {
    247       (void) sl_strlcpy(aud_err_message, sh_error_message(error), 64);
     252      (void) sl_strlcpy(aud_err_message, sh_error_message(error, errbuf, sizeof(errbuf)), 64);
    248253      sh_error_handle ((-1), file, line, error, MSG_ERR_LSTAT,
    249                        sh_error_message(error),
     254                       sh_error_message(error, errbuf, sizeof(errbuf)),
    250255                       file_name );
    251256  }
     
    259264  int error;
    260265  long int val_retry = -1;
     266  char errbuf[SH_ERRBUF_SIZE];
    261267 
    262268  SL_ENTER(_("retry_stat"));
     
    267273  error = errno;
    268274  if (val_retry < 0) {
    269       (void) sl_strlcpy(aud_err_message, sh_error_message(error), 64);
     275      (void) sl_strlcpy(aud_err_message, sh_error_message(error, errbuf, sizeof(errbuf)), 64);
    270276      sh_error_handle ((-1), file, line, error, MSG_ERR_STAT,
    271                        sh_error_message(error),
     277                       sh_error_message(error, errbuf, sizeof(errbuf)),
    272278                       file_name );
    273279  }
     
    280286  int error;
    281287  long int val_retry = -1;
     288  char errbuf[SH_ERRBUF_SIZE];
    282289 
    283290  SL_ENTER(_("retry_fstat"));
     
    289296  if (val_retry < 0) {
    290297      sh_error_handle ((-1), file, line, error, MSG_ERR_FSTAT,
    291                        sh_error_message(error),
     298                       sh_error_message(error, errbuf, sizeof(errbuf)),
    292299                       (long) filed );
    293300  }
     
    300307  int error;
    301308  long int val_retry = -1;
     309  char errbuf[SH_ERRBUF_SIZE];
    302310  errno              = 0;
    303311
     
    319327  if (val_retry < 0) {
    320328      sh_error_handle ((-1), file, line, error, MSG_ERR_FCNTL,
    321                        sh_error_message(error),
     329                       sh_error_message(error, errbuf, sizeof(errbuf)),
    322330                       (long) fd, (long) cmd, arg );
    323331  }
     
    389397  int   i;
    390398  int   error;
     399  char errbuf[SH_ERRBUF_SIZE];
    391400
    392401  SL_ENTER(_("retry_aud_execve"));
     
    401410  error = errno;
    402411  if (i < 0) {
    403       sh_error_handle ((-1), file, line, error, MSG_ERR_EXEC, sh_error_message(error),
     412      sh_error_handle ((-1), file, line, error, MSG_ERR_EXEC,
     413                       sh_error_message(error, errbuf, sizeof(errbuf)),
    404414                       dateiname, (long) a, (long) b );
    405415  }
     
    414424  long int val_return;
    415425  int  error;
     426  char errbuf[SH_ERRBUF_SIZE];
    416427  errno      = 0;
    417428
     
    430441  if (val_return < 0) {
    431442      sh_error_handle ((-1), file, line, error, MSG_ERR_UTIME,
    432                        sh_error_message(error),
     443                       sh_error_message(error, errbuf, sizeof(errbuf)),
    433444                       path,
    434445                       (unsigned long) buf->actime,
     
    444455  long int val_return;
    445456  int error;
     457  char errbuf[SH_ERRBUF_SIZE];
    446458  errno      = 0;
    447459
     
    457469                     path);
    458470  if (val_return < 0) {
    459       sh_error_handle ((-1), file, line, error, MSG_ERR_UNLINK, sh_error_message(error),
     471      sh_error_handle ((-1), file, line, error, MSG_ERR_UNLINK,
     472                       sh_error_message(error, errbuf, sizeof(errbuf)),
    460473                       path);
    461474  }
     
    469482  long int val_return;
    470483  int error;
     484  char errbuf[SH_ERRBUF_SIZE];
    471485  errno      = 0;
    472486
     
    483497  if (val_return < 0) {
    484498      sh_error_handle ((-1), file, line, error, MSG_ERR_DUP,
    485                        sh_error_message(error),
     499                       sh_error_message(error, errbuf, sizeof(errbuf)),
    486500                       (long) fd, val_return);
    487501  }
     
    495509  long int val_return;
    496510  int error;
     511  char errbuf[SH_ERRBUF_SIZE];
    497512  errno      = 0;
    498513
     
    508523  if (val_return < 0) {
    509524      sh_error_handle ((-1), file, line, error, MSG_ERR_DUP,
    510                        sh_error_message(error),
     525                       sh_error_message(error, errbuf, sizeof(errbuf)),
    511526                       (long) fd, val_return);
    512527  }
     
    522537  long int val_return;
    523538  int      error      = 0;
     539  char errbuf[SH_ERRBUF_SIZE];
    524540  errno      = 0;
    525541
     
    535551                     path);
    536552  if (val_return < 0) {
    537       sh_error_handle ((-1), file, line, error, MSG_ERR_CHDIR, sh_error_message(error),
     553      sh_error_handle ((-1), file, line, error, MSG_ERR_CHDIR,
     554                       sh_error_message(error, errbuf, sizeof(errbuf)),
    538555                       path);
    539556  }
     
    549566  long int val_return;
    550567  int error;
     568  char errbuf[SH_ERRBUF_SIZE];
    551569
    552570  SL_ENTER(_("aud_open"));
     
    566584  if (val_return < 0)
    567585    {
    568       (void) sl_strlcpy(aud_err_message, sh_error_message(error), 64);
     586      (void) sl_strlcpy(aud_err_message, sh_error_message(error, errbuf, sizeof(errbuf)), 64);
    569587    }
    570588
     
    576594  if (val_return < 0) {
    577595    sh_error_handle ((-1), file, line, error, MSG_ERR_OPEN,
    578                      sh_error_message(error),
     596                     sh_error_message(error, errbuf, sizeof(errbuf)),
    579597                     pathname, (long) flags, (long) mode, val_return);
    580598  }
     
    588606  long int val_return;
    589607  int error;
     608  char errbuf[SH_ERRBUF_SIZE];
    590609
    591610  SL_ENTER(_("aud_open"));
     
    599618  if (val_return < 0)
    600619    {
    601       (void) sl_strlcpy(aud_err_message, sh_error_message(error), 64);
     620      (void) sl_strlcpy(aud_err_message, sh_error_message(error, errbuf, sizeof(errbuf)), 64);
    602621    }
    603622
     
    609628  if (val_return < 0) {
    610629    sh_error_handle ((-1), file, line, error, MSG_ERR_OPEN,
    611                      sh_error_message(error),
     630                     sh_error_message(error, errbuf, sizeof(errbuf)),
    612631                     pathname, (long) flags, (long) mode, val_return);
    613632  }
     
    620639  int  myerror;
    621640  long int val_return = kill (pid, sig);
     641  char errbuf[SH_ERRBUF_SIZE];
    622642  myerror = errno;
    623643
     
    629649  if (val_return < 0) {
    630650      sh_error_handle ((-1), file, line, myerror, MSG_ERR_KILL,
    631                        sh_error_message(myerror),
     651                       sh_error_message(myerror, errbuf, sizeof(errbuf)),
    632652                       (long) pid, (long) sig);
    633653  }
     
    666686  int error;
    667687  pid_t i = fork();
     688  char errbuf[SH_ERRBUF_SIZE];
    668689
    669690  error = errno;
     
    675696  if (i == (pid_t) -1) {
    676697    sh_error_handle ((-1), file, line, error, MSG_ERR_FORK,
    677                      sh_error_message(error),
     698                     sh_error_message(error, errbuf, sizeof(errbuf)),
    678699                     (long) i);
    679700  }
     
    686707  int error = 0;
    687708  int i = 0;
     709  char errbuf[SH_ERRBUF_SIZE];
    688710
    689711  SL_ENTER(_("aud_setuid"));
     
    702724  if (i < 0) {
    703725    sh_error_handle ((-1), file, line, error, MSG_ERR_SETUID,
    704                      sh_error_message(error),
     726                     sh_error_message(error, errbuf, sizeof(errbuf)),
    705727                     (long) uid);
    706728  }
     
    713735  int error = 0;
    714736  int i = 0;
     737  char errbuf[SH_ERRBUF_SIZE];
    715738
    716739  SL_ENTER(_("aud_setgid"));
     
    730753  if (i < 0) {
    731754    sh_error_handle ((-1), file, line, error, MSG_ERR_SETGID,
    732                      sh_error_message(error),
     755                     sh_error_message(error, errbuf, sizeof(errbuf)),
    733756                     (long) gid);
    734757  }
     
    741764  int error;
    742765  int i = pipe (modus);
     766  char errbuf[SH_ERRBUF_SIZE];
    743767
    744768  SL_ENTER(_("aud_pipe"));
     
    761785    else
    762786      sh_error_handle ((-1), file, line, error, MSG_ERR_PIPE,
    763                        sh_error_message(error),
     787                       sh_error_message(error, errbuf, sizeof(errbuf)),
    764788                       (long) modus[0], (long) modus[1]);
    765789  }
Note: See TracChangeset for help on using the changeset viewer.