Browse Source

Silence dropping of throttled clients

master
Con Kolivas 9 years ago
parent
commit
4ba1fd6156
  1. 13
      src/stratifier.c

13
src/stratifier.c

@ -1302,9 +1302,11 @@ static void __drop_client(sdata_t *sdata, stratum_instance_t *client, bool lazil
if (client->workername) { if (client->workername) {
if (user) { if (user) {
ASPRINTF(msg, "Dropped client %"PRId64" %s %suser %s worker %s %s", if (!user->throttled) {
client->id, client->address, user->throttled ? "throttled " : "", ASPRINTF(msg, "Dropped client %"PRId64" %s user %s worker %s %s",
user->username, client->workername, lazily ? "lazily" : ""); client->id, client->address, user->username,
client->workername, lazily ? "lazily" : "");
}
} else { } else {
ASPRINTF(msg, "Dropped client %"PRId64" %s no user worker %s %s", ASPRINTF(msg, "Dropped client %"PRId64" %s no user worker %s %s",
client->id, client->address, client->workername, client->id, client->address, client->workername,
@ -1323,7 +1325,7 @@ static void _dec_instance_ref(sdata_t *sdata, stratum_instance_t *client, const
const char *func, const int line) const char *func, const int line)
{ {
char_entry_t *entries = NULL; char_entry_t *entries = NULL;
char *msg; char *msg = NULL;
int ref; int ref;
ck_wlock(&sdata->instance_lock); ck_wlock(&sdata->instance_lock);
@ -1332,6 +1334,9 @@ static void _dec_instance_ref(sdata_t *sdata, stratum_instance_t *client, const
* moved due to holding a reference and drop them now. */ * moved due to holding a reference and drop them now. */
if (unlikely(client->dropped && !ref)) { if (unlikely(client->dropped && !ref)) {
__drop_client(sdata, client, true, &msg); __drop_client(sdata, client, true, &msg);
/* Make sure there is a message as throttled users don't
* generate a message */
if (msg)
add_msg_entry(&entries, &msg); add_msg_entry(&entries, &msg);
} }
ck_wunlock(&sdata->instance_lock); ck_wunlock(&sdata->instance_lock);

Loading…
Cancel
Save