++ srv->stats.releases;
srv->flags.reserved = false;
- if (srv->parent->OnEmptyQueue != NULL && srv->data)
- srv->parent->OnEmptyQueue(srv->data);
helperStatefulServerDone(srv);
}
if (srv->flags.shutdown)
continue;
- if ((hlp->IsAvailable != NULL) && (srv->data != NULL) && !(hlp->IsAvailable(srv->data)))
- continue;
-
debugs(84, 5, "StatefulGetFirstAvailable: returning srv-" << srv->index);
return srv;
}
class Packable;
class wordlist;
-/// callback type for helper empty-queue event
-typedef void HLPSONEQ(void *);
-/// callback type for helper-available event
-typedef int HLPSAVAIL(void *);
-
/**
* Managers a set of individual helper processes with a common queue of requests.
*
CBDATA_CLASS(statefulhelper);
public:
- inline statefulhelper(const char *name) : helper(name), datapool(NULL), IsAvailable(NULL), OnEmptyQueue(NULL) {}
+ inline statefulhelper(const char *name) : helper(name), datapool(NULL) {}
inline ~statefulhelper() {}
public:
MemAllocator *datapool;
- HLPSAVAIL *IsAvailable;
- HLPSONEQ *OnEmptyQueue;
private:
friend void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPCB * callback, void *data, helper_stateful_server * lastserver);