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 |