struct nstr_item ni;
struct lndstr land;
int vec[I_MAX + 1];
- s_char *mission_short_name(int);
int n, i;
struct natstr *np;
time_t now;
int nunits;
struct nstr_item ni;
struct lndstr land;
- s_char *mission_short_name(int);
if (!snxtitem(&ni, EF_LAND, player->argp[1]))
return RET_SYN;
int
thre(void)
{
- extern struct ichrstr *whatitem(s_char *, s_char *);
struct sctstr sect;
struct nstr_sect nstr;
int val;
void
lwpReschedule(void)
{
- extern struct lwpQueue LwpSchedQ[];
static int lcount = LCOUNT;
static struct lwpProc *nextp;
static int i;
void
lwpSleepFd(int fd, int mask)
{
- extern struct lwpProc *LwpCurrent;
-
lwpStatus(LwpCurrent, "sleeping on fd %d", fd);
if (LwpSelect.wait[fd] != 0) {
void
lwpSleepUntil(long int until)
{
- extern struct lwpProc *LwpCurrent;
-
lwpStatus(LwpCurrent, "sleeping for %d sec", until - time(0));
LwpCurrent->runtime = until;
if (LwpSelect.maxfd == 0 && LwpSelect.delayq.head == 0) {
void
lwpSelect(void *arg)
{
- extern struct lwpProc *LwpCurrent;
struct lwpProc *us = LwpCurrent;
fd_set readmask;
fd_set writemask;
void
lwpSignal(struct lwpSem *s)
{
- extern struct lwpProc *LwpCurrent;
-
lwpStatus(LwpCurrent, "done with semaphore %s", s->name);
if (s->count++ < 0) {
struct lwpProc *p = lwpGetFirst(&s->q);
void
lwpWait(struct lwpSem *s)
{
- extern struct lwpProc *LwpCurrent;
-
lwpStatus(LwpCurrent, "checking semaphore %s", s->name);
if (--s->count < 0) {
lwpStatus(LwpCurrent, "blocking");