Ignore:
Timestamp:
Sep 14, 2008, 7:31:16 PM (17 years ago)
Author:
bird
Message:

kash: fixed signals. trace all wrapped system calls.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kash/shfile.c

    r1286 r1785  
    2626
    2727#include "shfile.h"
     28#include "shinstance.h" /* TRACE2 */
    2829#include <stdlib.h>
    2930#include <stdio.h>
     
    4344int shfile_open(shfdtab *pfdtab, const char *name, unsigned flags, mode_t mode)
    4445{
    45 #ifdef SH_PURE_STUB_MODE
    46     return -1;
    47 #elif defined(SH_STUB_MODE)
    48     return open(name, flags, mode);
    49 #else
    50 #endif
     46    int fd;
     47
     48#ifdef SH_PURE_STUB_MODE
     49    fd = -1;
     50#elif defined(SH_STUB_MODE)
     51    fd = open(name, flags, mode);
     52#else
     53#endif
     54
     55    TRACE2((NULL, "shfile_open(%p:{%s}, %#x, 0%o) -> %d [%d]\n", name, name, flags, mode, fd, errno));
     56    return fd;
    5157}
    5258
     
    6773int shfile_dup(shfdtab *pfdtab, int fd)
    6874{
    69 #ifdef SH_PURE_STUB_MODE
    70     return -1;
    71 #elif defined(SH_STUB_MODE)
    72     return dup(fd);
    73 #else
    74 #endif
     75    int rc;
     76#ifdef SH_PURE_STUB_MODE
     77    rc = -1;
     78#elif defined(SH_STUB_MODE)
     79    rc = dup(fd);
     80#else
     81#endif
     82
     83    TRACE2((NULL, "shfile_dup(%d) -> %d [%d]\n", fd, rc, errno));
     84    return rc;
    7585}
    7686
    7787int shfile_close(shfdtab *pfdtab, unsigned fd)
    7888{
    79 #ifdef SH_PURE_STUB_MODE
    80     return -1;
    81 #elif defined(SH_STUB_MODE)
    82     return close(fd);
    83 #else
    84 #endif
     89    int rc;
     90
     91#ifdef SH_PURE_STUB_MODE
     92    rc = -1;
     93#elif defined(SH_STUB_MODE)
     94    rc = close(fd);
     95#else
     96#endif
     97
     98    TRACE2((NULL, "shfile_close(%d) -> %d [%d]\n", fd, rc, errno));
     99    return rc;
    85100}
    86101
     
    202217int shfile_isatty(shfdtab *pfdtab, int fd)
    203218{
    204 #ifdef SH_PURE_STUB_MODE
    205     return 0;
    206 #elif defined(SH_STUB_MODE)
    207     return isatty(fd);
    208 #else
    209 #endif
     219    int rc;
     220
     221#ifdef SH_PURE_STUB_MODE
     222    rc = 0;
     223#elif defined(SH_STUB_MODE)
     224    rc = isatty(fd);
     225#else
     226#endif
     227
     228    TRACE2((NULL, "isatty(%d) -> %d [%d]\n", fd, rc, errno));
     229    return rc;
    210230}
    211231
     
    213233int shfile_cloexec(shfdtab *pfdtab, int fd, int closeit)
    214234{
    215 #ifdef SH_PURE_STUB_MODE
    216     return -1;
    217 #elif defined(SH_STUB_MODE)
    218 # ifdef _MSC_VER
    219     return -1;
    220 # else
    221     int rc = fcntl(fd, F_SETFD, fcntl(fd, F_GETFD, 0)
    222                               | (closeit ? FD_CLOEXEC : 0));
    223     //fprintf(stderr, "shfile_cloexec(%d, %d) -> %d\n", fd, closeit, rc);
    224     return rc;
    225 # endif
    226 #else
    227 #endif
    228 
     235    int rc;
     236
     237#ifdef SH_PURE_STUB_MODE
     238    rc = -1;
     239#elif defined(SH_STUB_MODE)
     240# ifdef _MSC_VER
     241    rc = -1;
     242# else
     243    rc = fcntl(fd, F_SETFD, fcntl(fd, F_GETFD, 0)
     244                          | (closeit ? FD_CLOEXEC : 0));
     245# endif
     246#else
     247#endif
     248
     249    TRACE2((NULL, "shfile_cloexec(%d, %d) -> %d [%d]\n", fd, closeit, rc, errno));
     250    return rc;
    229251}
    230252
     
    232254int shfile_ioctl(shfdtab *pfdtab, int fd, unsigned long request, void *buf)
    233255{
    234 #ifdef SH_PURE_STUB_MODE
    235     return -1;
    236 #elif defined(SH_STUB_MODE)
    237 # ifdef _MSC_VER
    238     return -1;
    239 # else
    240     int rc = ioctl(fd, request, buf);
    241     //fprintf(stderr, "ioctl(%d, %#x, %p) -> %d\n", fd, request, buf, rc);
    242     return rc;
    243 # endif
    244 #else
    245 #endif
     256    int rc;
     257
     258#ifdef SH_PURE_STUB_MODE
     259    rc = -1;
     260#elif defined(SH_STUB_MODE)
     261# ifdef _MSC_VER
     262    rc = -1;
     263# else
     264    rc = ioctl(fd, request, buf);
     265# endif
     266#else
     267#endif
     268
     269    TRACE2((NULL, "ioctl(%d, %#x, %p) -> %d\n", fd, request, buf, rc));
     270    return rc;
    246271}
    247272
Note: See TracChangeset for help on using the changeset viewer.