helenos-nicf team mailing list archive
-
helenos-nicf team
-
Mailing list archive
-
Message #00104
uvolnovani paketu po zavolani write_packet
Ahoj,
co si myslite o tom, ze bychom uvolnovani paketu ve funkci
nic_send_message_impl nechali na funkci write_packet?
data->write_packet(data, packet);
log_debug("Packet %d sent.", pid);
-pq_release_remote(data->net_phone, pid);
packet = next;
Ja totiz paket nechci uvonit hned, ale az za nakou dobu, az si ho precte
sitovka.
Pro vraceni paketu by slo udelat nejakou obalovaci funkci, aby porad
driver nemusel nic vedet o phonech.
Muzu si samozrejme napsat vlastni funkci misto nic_send_message_impl,
ale prijde mi to pitome, kdyz by se lisila jen v jednom radku.
Druha moznost reseni je podminit to podle navratu write_packet:
log_debug("Sending packet %d.", pid);
-data->write_packet(data, packet);
+int rc = data->write_packet(data, packet);
log_debug("Packet %d sent.", pid);
+if (rc == E_RELEASE_PACKET) {
+ pq_release_remote(data->net_phone, pid);
+}
-pq_release_remote(data->net_phone, pid);
packet = next;
Co si o tom myslite?
Zdenek
Follow ups