What changed with receive_data()?

Sometime between hrev52295 and ~52309, there was a change to receive_data() that’s breaking some code of mine. Also tried with latest nightly, 53013.

At least superficially, it’s no longer accepting a null buffer / 0 size for the data buffer arguments (giving me a B_BAD_ADDRESS error), but even if I provide a valid buffer my app is still hanging there.

Anybody know offhand what likely changed in there? I’ve been using it for thread synchronization (pause one thread while waiting for another thread/window to finish doing something, sending a message back to indicate it’s safe to proceed).

I can produce a minimal example / file a bug report if necessary, but I thought I’d ask here first just in case somebody knows something.

null is no longer a user address, see https://review.haiku-os.org/c/haiku/+/1333 for a fix proposal.

That was it, thank you. (I forgot to change the other side, the send_data, to no longer use null, which is why it was hanging).

Fix available in hrev53014

3 Likes

Awesome, thanks!