org.bouncycastle.crypto.EntropyDaemon Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-lts8on Show documentation
Show all versions of bcprov-lts8on Show documentation
The Long Term Stable (LTS) Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains the JCA/JCE provider and low-level API for the BC LTS version 2.73.7 for Java 8 and later.
package org.bouncycastle.crypto;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
class EntropyDaemon
implements Runnable
{
private static final Logger LOG = Logger.getLogger(EntropyDaemon.class.getName());
private final LinkedList tasks = new LinkedList();
public EntropyDaemon()
{
}
void addTask(Runnable task)
{
synchronized (tasks)
{
tasks.add(task);
}
}
public void run()
{
while (!Thread.currentThread().isInterrupted())
{
Runnable task;
synchronized (tasks)
{
task = tasks.poll();
}
if (task != null)
{
try
{
task.run();
}
catch (Throwable e)
{
// ignore
}
}
else
{
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
Thread.currentThread().interrupt();
}
}
}
if (LOG.isLoggable(Level.FINE))
{
LOG.fine("entropy thread interrupted - exiting");
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy