Michael Hunter wrote:
> On each iteration through this loop we could set err but then
> continue. When we exit the loop we return an error although one that
> we might have continued past. If we can continue past it should we
> return it? If we return it should we just stop at that point?
>
>
I think it's no harm to return it - the error can be logged
by nwamd then - but it should definitely be continued
past, since if we don't, a single failure writing
to one event queue (could just be an nwamadm
show-events) would prevent all other event queues
from working.
Alan
> mph
>
> [...]
> while ((dp = readdir(dirp)) != NULL) {
> if (strncmp(dp->d_name, NWAM_EVENT_MSG_FILE,
> strlen(NWAM_EVENT_MSG_FILE)) != 0)
> continue;
>
> (void) snprintf(eventmsgfile, sizeof (eventmsgfile), "%s/%s",
> NWAM_EVENT_MSG_DIR, dp->d_name);
>
> if ((key = ftok(eventmsgfile, 0)) == -1) {
> err = nwam_errno_to_nwam_error(errno);
> continue;
> }
>
> if ((msqid = msgget(key, 0644)) == -1) {
> err = nwam_errno_to_nwam_error(errno);
> continue;
> }
>
> [...a series of like statements...]
>
> /*
> * This shouldn't ever block but if it does it is
> catastrophic.
> */
> if (msgsnd(msqid, (struct msgbuf *)event, event->size,
> IPC_NOWAIT) == -1) {
> assert(errno != EAGAIN);
> err = nwam_errno_to_nwam_error(errno);
> continue;
> }
>
> }
> (void) closedir(dirp);
>
> return (err);
> _______________________________________________
> nwam-dev mailing list
> nwam-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/nwam-dev
>