> getentropy*.c: "cannot call abort() because some systems have unsafe > corefiles" > arc4random.c: "if(_rs_allocate(...) == -1) abort();" > > Am I missing any difference between the two cases? > (brain,cvsweb,google+gmane weren't any help)
Policy. getentropy() should eventually be a lower level intrinsic. It is an emulation of a system call on another system (ie. OpenBSD). arc4random() is written on top of this, it is a standard library routine. For example. Say you wrote a replacement library that had open() and fopen(). The open should not fatally abort -- it's job is to return errors. That is firmly specified -- go read the open() manual page to get the picture. But the upper level function, what it does is less refined and more flexible implementation wise.