RPMLOCK_WAIT = 1 << 2,
};
-typedef struct {
+struct rpmlock_s {
int fd;
int openmode;
-} * rpmlock;
+};
static rpmlock rpmlock_new(const char *rootdir)
{
/* External interface */
-void *rpmtsAcquireLock(rpmts ts)
+rpmlock rpmtsAcquireLock(rpmts ts)
{
const char *rootDir = rpmtsRootDir(ts);
rpmlock lock;
return lock;
}
-void rpmtsFreeLock(void *lock)
+void rpmtsFreeLock(rpmlock lock)
{
- rpmlock_release((rpmlock)lock); /* Not really needed here. */
- rpmlock_free((rpmlock)lock);
+ rpmlock_release(lock); /* Not really needed here. */
+ rpmlock_free(lock);
}
#ifndef RPMLOCK_H
#define RPMLOCK_H
-void * rpmtsAcquireLock(rpmts ts);
-void rpmtsFreeLock(void *lock);
+typedef struct rpmlock_s * rpmlock;
+
+rpmlock rpmtsAcquireLock(rpmts ts);
+void rpmtsFreeLock(rpmlock lock);
#endif
int rpmtsInitDB(rpmts ts, int dbmode)
{
- void *lock = rpmtsAcquireLock(ts);
+ rpmlock lock = rpmtsAcquireLock(ts);
int rc = -1;
if (lock)
rc = rpmdbInit(ts->rootDir, dbmode);
int rpmtsRebuildDB(rpmts ts)
{
int rc;
- void *lock = rpmtsAcquireLock(ts);
+ rpmlock lock = rpmtsAcquireLock(ts);
if (!lock) return -1;
if (!(ts->vsflags & RPMVSF_NOHDRCHK))
rc = rpmdbRebuild(ts->rootDir, ts, headerCheck);
int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
{
int rc = -1; /* assume failure */
- void * lock = NULL;
+ rpmlock lock = NULL;
rpmps tsprobs = NULL;
/* XXX programmer error segfault avoidance. */