View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004479 | Taler | mechant backend | public | 2016-04-29 15:38 | 2016-05-02 02:35 |
Reporter | Florian Dold | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 0.0 | ||||
Target Version | 0.0 | Fixed in Version | 0.0 | ||
Summary | 0004479: curl context should handle re-scheduling | ||||
Description | We moved the curl context from Taler/merchant to GNUnet. I think currently this abstraction is very easy to use incorrectly, leading to hanging services. This is not some abstract concern, but has lead to bugs in corner cases (that only occured when services were started in a certain order) before. Right now we need to remember to re-schedule the select task for the GNUNET_CURL_perform every time we add an operation (such as TALER_EXCHANGE_connect). Instead the context should handle re-scheduling. | ||||
Tags | No tags attached. | ||||
|
The context cannot do this, as it was specifically written to be independent (!) of the event loop. You can use the context implementation with libev, libevent or GNUNET_SCHEDULER. Hence the app, which provides the integration with the scheduler, must do the rescheduling. |
|
I didn't say that the re-scheduling should be done with the GNUnet scheduler. We could pass an arbitrary callback to update whatever event mechanism we use with the new file handles. The current API is too easy to use incorrectly. It's not obvious that EXCHANGE_connect requires re-scheduling some select task. |
|
I see. So you want to force correct usage via an additional callback. Ok, that's fine. |
|
GNUnet API changed in SVN 37104. |
|
Merchant updated in fb7e96e..358182c |
|
Exchange fixed in d34c640..1c2be59 |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-04-29 15:38 | Florian Dold | New Issue | |
2016-04-29 15:38 | Florian Dold | Status | new => assigned |
2016-04-29 15:38 | Florian Dold | Assigned To | => Christian Grothoff |
2016-04-30 14:42 | Christian Grothoff | Note Added: 0010581 | |
2016-04-30 14:42 | Christian Grothoff | Severity | minor => feature |
2016-04-30 14:42 | Christian Grothoff | Status | assigned => closed |
2016-04-30 14:42 | Christian Grothoff | Resolution | open => not fixable |
2016-04-30 14:42 | Christian Grothoff | Product Version | => 0.0 |
2016-04-30 14:42 | Christian Grothoff | Target Version | => 0.0 |
2016-04-30 14:50 | Florian Dold | Note Added: 0010583 | |
2016-04-30 14:50 | Florian Dold | Status | closed => feedback |
2016-04-30 14:50 | Florian Dold | Resolution | not fixable => reopened |
2016-04-30 14:53 | Christian Grothoff | Note Added: 0010585 | |
2016-04-30 14:53 | Christian Grothoff | Assigned To | Christian Grothoff => |
2016-04-30 14:53 | Christian Grothoff | Status | feedback => confirmed |
2016-04-30 14:53 | Christian Grothoff | Assigned To | => Christian Grothoff |
2016-04-30 14:53 | Christian Grothoff | Status | confirmed => assigned |
2016-04-30 14:53 | Christian Grothoff | Reproducibility | have not tried => N/A |
2016-04-30 14:53 | Christian Grothoff | Resolution | reopened => open |
2016-05-02 02:23 | Christian Grothoff | Note Added: 0010590 | |
2016-05-02 02:23 | Christian Grothoff | Note Added: 0010591 | |
2016-05-02 02:35 | Christian Grothoff | Note Added: 0010592 | |
2016-05-02 02:35 | Christian Grothoff | Status | assigned => resolved |
2016-05-02 02:35 | Christian Grothoff | Fixed in Version | => 0.0 |
2016-05-02 02:35 | Christian Grothoff | Resolution | open => fixed |
2016-05-02 02:35 | Christian Grothoff | Status | resolved => closed |