memcpy(hangover_buf, (char*)buf + solid, hangover);
r = write(fd, hangover_buf, bsize);
- if (r < 0 || r != bsize)
+ if (r < 0 || r < hangover)
goto out;
}
ret = count;
if (!hangover_buf)
goto out;
r = read(fd, hangover_buf, bsize);
- if (r < 0 || r != bsize)
+ if (r < 0 || r < hangover)
goto out;
memcpy((char *)buf + solid, hangover_buf, hangover);
if (!_memlock_count++) {
log_dbg("Locking memory.");
if (mlockall(MCL_CURRENT | MCL_FUTURE) == -1) {
- log_err(ctx, _("WARNING!!! Possibly insecure memory. Are you root?\n"));
+ log_dbg("Cannot lock memory with mlockall.");
_memlock_count--;
return 0;
}
log_err(ctx, _("Cannot get process priority.\n"));
else
if (setpriority(PRIO_PROCESS, 0, DEFAULT_PROCESS_PRIORITY))
- log_err(ctx, _("setpriority %d failed: %s\n"),
+ log_dbg("setpriority %d failed: %s",
DEFAULT_PROCESS_PRIORITY, strerror(errno));
}
return _memlock_count ? 1 : 0;
if (munlockall() == -1)
log_err(ctx, _("Cannot unlock memory.\n"));
if (setpriority(PRIO_PROCESS, 0, _priority))
- log_err(ctx, _("setpriority %d failed: %s\n"), _priority, strerror(errno));
+ log_dbg("setpriority %d failed: %s", _priority, strerror(errno));
}
return _memlock_count ? 1 : 0;
}