View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003544 | GNUnet | util library | public | 2014-09-20 23:22 | 2018-06-07 00:25 |
Reporter | amatus | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.11.0pre66 | Fixed in Version | 0.11.0pre66 | ||
Summary | 0003544: GNUNET_CLIENT_notify_transmit_ready documentation incorrect | ||||
Description | The comment in src/util/client.c on GNUNET_CLIENT_notify_transmit_ready says that it "may call the notify method immediately" but it never will, assuming that "immediately" means before the call to GNUNET_CLIENT_notify_transmit_ready returns. GNUNET_CLIENT_notify_transmit_ready calls GNUNET_CONNECTION_notify_transmit_ready which has the same incorrect comment. The winding train of function calls eventually ends up at GNUNET_SCHEDULER_add_select or add_without_sets which both defer the callback until after they have returned. If it did call the notify method before returning it would break code like this found in src/util/mq.c: state->th = GNUNET_CLIENT_notify_transmit_ready (state->connection, ntohs (msg->size), GNUNET_TIME_UNIT_FOREVER_REL, GNUNET_NO, &connection_client_transmit_queued, mq); GNUNET_assert (NULL != state->th); Where connection_client_transmit_queued executes state->th = NULL; before returning which would trigger the assert. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-09-20 23:22 | amatus | New Issue | |
2014-09-20 23:22 | amatus | Assigned To | => Christian Grothoff |
2014-09-20 23:22 | amatus | Status | new => assigned |
2014-09-21 11:30 | Christian Grothoff | Note Added: 0008589 | |
2014-09-21 11:30 | Christian Grothoff | Status | assigned => resolved |
2014-09-21 11:30 | Christian Grothoff | Fixed in Version | => 0.11.0pre66 |
2014-09-21 11:30 | Christian Grothoff | Resolution | open => fixed |
2014-09-21 11:30 | Christian Grothoff | Target Version | => 0.11.0pre66 |
2018-06-07 00:25 | Christian Grothoff | Status | resolved => closed |