- (djm) Fix interrupted read in entropy gatherer. Spotted by markus@ on
a fast UltraSPARC.
This commit is contained in:
parent
e26a155415
commit
2ab5924d1f
|
@ -1,3 +1,7 @@
|
||||||
|
20010803
|
||||||
|
- (djm) Fix interrupted read in entropy gatherer. Spotted by markus@ on
|
||||||
|
a fast UltraSPARC.
|
||||||
|
|
||||||
20010726
|
20010726
|
||||||
- (stevesk) use mysignal() in protocol 1 loop now that the SIGCHLD
|
- (stevesk) use mysignal() in protocol 1 loop now that the SIGCHLD
|
||||||
handler has converged.
|
handler has converged.
|
||||||
|
@ -6103,4 +6107,4 @@
|
||||||
- Wrote replacements for strlcpy and mkdtemp
|
- Wrote replacements for strlcpy and mkdtemp
|
||||||
- Released 1.0pre1
|
- Released 1.0pre1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.1424 2001/07/26 17:51:49 stevesk Exp $
|
$Id: ChangeLog,v 1.1425 2001/08/06 06:51:49 djm Exp $
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#include "pathnames.h"
|
#include "pathnames.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
RCSID("$Id: entropy.c,v 1.37 2001/06/27 13:36:08 djm Exp $");
|
RCSID("$Id: entropy.c,v 1.38 2001/08/06 06:51:49 djm Exp $");
|
||||||
|
|
||||||
#ifndef offsetof
|
#ifndef offsetof
|
||||||
# define offsetof(type, member) ((size_t) &((type *)0)->member)
|
# define offsetof(type, member) ((size_t) &((type *)0)->member)
|
||||||
|
@ -505,7 +505,9 @@ hash_output_from_command(entropy_source_t *src, char *hash)
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
/* command input */
|
/* command input */
|
||||||
bytes_read = read(p[0], buf, sizeof(buf));
|
do {
|
||||||
|
bytes_read = read(p[0], buf, sizeof(buf));
|
||||||
|
} while (bytes_read == -1 && errno == EINTR);
|
||||||
RAND_add(&bytes_read, sizeof(&bytes_read), 0.0);
|
RAND_add(&bytes_read, sizeof(&bytes_read), 0.0);
|
||||||
if (bytes_read == -1) {
|
if (bytes_read == -1) {
|
||||||
error_abort = 1;
|
error_abort = 1;
|
||||||
|
|
Loading…
Reference in New Issue