-/*
- * network_talking_to() -- concurrency checker
- */
-static HashList *nttlist = NULL;
-int network_talking_to(const char *nodename, long len, int operation) {
-
- int retval = 0;
- HashPos *Pos = NULL;
- void *vdata;
-
- begin_critical_section(S_NTTLIST);
-
- switch(operation) {
-
- case NTT_ADD:
- if (nttlist == NULL)
- nttlist = NewHash(1, NULL);
- Put(nttlist, nodename, len, NewStrBufPlain(nodename, len), HFreeStrBuf);
- if (NTTDebugEnabled) syslog(LOG_DEBUG, "nttlist: added <%s>\n", nodename);
- break;
- case NTT_REMOVE:
- if ((nttlist == NULL) ||
- (GetCount(nttlist) == 0))
- break;
- Pos = GetNewHashPos(nttlist, 1);
- if (GetHashPosFromKey (nttlist, nodename, len, Pos))
- DeleteEntryFromHash(nttlist, Pos);
- DeleteHashPos(&Pos);
- if (NTTDebugEnabled) syslog(LOG_DEBUG, "nttlist: removed <%s>\n", nodename);
-
- break;