|
|
1.1 ! root 1: /* thread.c ! 2: Initialize for a new thread. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP uuconf library. ! 7: ! 8: This library is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU Library General Public License ! 10: as published by the Free Software Foundation; either version 2 of ! 11: the License, or (at your option) any later version. ! 12: ! 13: This library is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: Library General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU Library General Public ! 19: License along with this library; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucnfi.h" ! 27: ! 28: #if USE_RCS_ID ! 29: const char _uuconf_thread_rcsid[] = "$Id: thread.c,v 1.1 93/07/30 08:07:58 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: #include <errno.h> ! 33: ! 34: /* Initialize for a new thread, by allocating a new sglobal structure ! 35: which points to the same sprocess structure. */ ! 36: ! 37: int ! 38: uuconf_init_thread (ppglobal) ! 39: pointer *ppglobal; ! 40: { ! 41: struct sglobal **pqglob = (struct sglobal **) ppglobal; ! 42: pointer pblock; ! 43: struct sglobal *qnew; ! 44: ! 45: pblock = uuconf_malloc_block (); ! 46: if (pblock == NULL) ! 47: { ! 48: (*pqglob)->ierrno = errno; ! 49: return UUCONF_MALLOC_FAILED | UUCONF_ERROR_ERRNO; ! 50: } ! 51: ! 52: qnew = (struct sglobal *) uuconf_malloc (pblock, ! 53: sizeof (struct sglobal)); ! 54: if (qnew == NULL) ! 55: { ! 56: (*pqglob)->ierrno = errno; ! 57: uuconf_free_block (pblock); ! 58: return UUCONF_MALLOC_FAILED | UUCONF_ERROR_ERRNO; ! 59: } ! 60: ! 61: qnew->pblock = pblock; ! 62: qnew->ierrno = 0; ! 63: qnew->ilineno = 0; ! 64: qnew->zfilename = NULL; ! 65: qnew->qprocess = (*pqglob)->qprocess; ! 66: ! 67: *pqglob = qnew; ! 68: ! 69: return UUCONF_SUCCESS; ! 70: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.