Changeset bc0d32 in git for Singular/links/ndbm.cc


Ignore:
Timestamp:
Apr 9, 2013, 3:33:02 PM (11 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b52fc4b2495505785981d640dcf7eb3e456778ef')
Children:
bdda8c2a271e7650c11462d22c70cd15d21d34f1
Parents:
f8565ac2b56eae4e46fb63670efa1bc402ae3628
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-04-09 15:33:02+02:00
git-committer:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-04-09 15:33:47+02:00
Message:
add: handling signals in systyem calls
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/links/ndbm.cc

    rf8565a rbc0d32  
    1515
    1616#include "config.h"
     17#include <Singular/si_signals.h>
    1718#include <kernel/mod2.h>
    1819#ifdef HAVE_DBM
     
    8687  strcpy(db->dbm_pagbuf, file);
    8788  strcat(db->dbm_pagbuf, ".pag");
    88   db->dbm_pagf = open(db->dbm_pagbuf, flags, mode);
     89  db->dbm_pagf = si_open(db->dbm_pagbuf, flags, mode);
    8990  if (db->dbm_pagf < 0)
    9091    goto bad;
    9192  strcpy(db->dbm_pagbuf, file);
    9293  strcat(db->dbm_pagbuf, ".dir");
    93   db->dbm_dirf = open(db->dbm_pagbuf, flags, mode);
     94  db->dbm_dirf = si_open(db->dbm_pagbuf, flags, mode);
    9495  if (db->dbm_dirf < 0)
    9596    goto bad1;
     
    99100  return (db);
    100101bad1:
    101   (void) close(db->dbm_pagf);
     102  (void) si_close(db->dbm_pagf);
    102103bad:
    103104  free((char *)db);
     
    107108void dbm_close(DBM *db)
    108109{
    109   (void) close(db->dbm_dirf);
    110   (void) close(db->dbm_pagf);
     110  (void) si_close(db->dbm_dirf);
     111  (void) si_close(db->dbm_pagf);
    111112  free((char *)db);
    112113}
     
    166167  db->dbm_pagbno = db->dbm_blkno;
    167168  (void) lseek(db->dbm_pagf, db->dbm_blkno*PBLKSIZ, L_SET);
    168   if (write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
     169  if (si_write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
    169170  {
    170171  err:
     
    206207  db->dbm_pagbno = db->dbm_blkno;
    207208  (void) lseek(db->dbm_pagf, db->dbm_blkno*PBLKSIZ, L_SET);
    208   if ( (ret=write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ)) != PBLKSIZ)
     209  if ( (ret=si_write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ)) != PBLKSIZ)
    209210  {
    210211    db->dbm_flags |= _DBM_IOERR;
     
    245246  db->dbm_pagbno = db->dbm_blkno;
    246247  (void) lseek(db->dbm_pagf, db->dbm_blkno*PBLKSIZ, L_SET);
    247   if (write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
     248  if (si_write(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
    248249  {
    249250    db->dbm_flags |= _DBM_IOERR;
     
    251252  }
    252253  (void) lseek(db->dbm_pagf, (db->dbm_blkno+db->dbm_hmask+1)*PBLKSIZ, L_SET);
    253   if (write(db->dbm_pagf, ovfbuf, PBLKSIZ) != PBLKSIZ)
     254  if (si_write(db->dbm_pagf, ovfbuf, PBLKSIZ) != PBLKSIZ)
    254255  {
    255256    db->dbm_flags |= _DBM_IOERR;
     
    284285      db->dbm_pagbno = db->dbm_blkptr;
    285286      (void) lseek(db->dbm_pagf, db->dbm_blkptr*PBLKSIZ, L_SET);
    286       if (read(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
     287      if (si_read(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
    287288        memset(db->dbm_pagbuf, 0, PBLKSIZ);
    288289#ifdef DEBUG
     
    323324    db->dbm_pagbno = db->dbm_blkno;
    324325    (void) lseek(db->dbm_pagf, db->dbm_blkno*PBLKSIZ, L_SET);
    325     if (read(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
     326    if (si_read(db->dbm_pagf, db->dbm_pagbuf, PBLKSIZ) != PBLKSIZ)
    326327      memset(db->dbm_pagbuf, 0, PBLKSIZ);
    327328#ifdef DEBUG
     
    348349    db->dbm_dirbno = b;
    349350    (void) lseek(db->dbm_dirf, (long)b*DBLKSIZ, L_SET);
    350     if (read(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
     351    if (si_read(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
    351352      memset(db->dbm_dirbuf, 0, DBLKSIZ);
    352353  }
     
    369370    db->dbm_dirbno = b;
    370371    (void) lseek(db->dbm_dirf, (long)b*DBLKSIZ, L_SET);
    371     if (read(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
     372    if (si_read(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
    372373      memset(db->dbm_dirbuf, 0, DBLKSIZ);
    373374  }
     
    375376  db->dbm_dirbno = b;
    376377  (void) lseek(db->dbm_dirf, (long)b*DBLKSIZ, L_SET);
    377   if (write(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
     378  if (si_write(db->dbm_dirf, db->dbm_dirbuf, DBLKSIZ) != DBLKSIZ)
    378379    db->dbm_flags |= _DBM_IOERR;
    379380}
Note: See TracChangeset for help on using the changeset viewer.