pulse_attach() behavior

Hi all,
Does pulse_attach() effectively sets errno to EINVAL?
EINVAL: The pulse code is out of range, or it’s already registered.

Consider this snippet:

if (pulse_attach( dpp, 0, 3, &func, NULL) == -1)
   perror("pulse_attach error");
if (pulse_attach( dpp, 0, 3, &func, NULL) == -1)
   perror("pulse_attach error");
if (pulse_attach( dpp, 0, 128, &func, NULL) == -1)
   perror("pulse_attach error");

sys/neutrino.h defines:
#define _PULSE_CODE_MAXAVAIL 127

Shouldn’t the second and third call return -1? It does not under QNX 6.2.1B.

Thanks