forked from enlightenment/efl
efl - evas - sw engine - donmt free spinlock because cache always needed
never free the shm pool cache spinlock as it is alwasy needed once initiialized. this likely fixes a bsd hardlock issues @fix
This commit is contained in:
parent
a536f068dd
commit
5f307809b1
|
@ -26,6 +26,7 @@ struct _Outbuf_Region
|
||||||
int h;
|
int h;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static Eina_Bool shmpool_initted = EINA_FALSE;
|
||||||
static Eina_List *shmpool = NULL;
|
static Eina_List *shmpool = NULL;
|
||||||
static int shmsize = 0;
|
static int shmsize = 0;
|
||||||
static int shmmemlimit = 20 * 1024 * 1024;
|
static int shmmemlimit = 20 * 1024 * 1024;
|
||||||
|
@ -150,7 +151,11 @@ _clear_xob(int psync)
|
||||||
void
|
void
|
||||||
evas_software_xlib_outbuf_init(void)
|
evas_software_xlib_outbuf_init(void)
|
||||||
{
|
{
|
||||||
eina_spinlock_new(&shmpool_lock);
|
if (!shmpool_initted)
|
||||||
|
{
|
||||||
|
shmpool_initted = EINA_TRUE;
|
||||||
|
eina_spinlock_new(&shmpool_lock);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -192,7 +197,6 @@ evas_software_xlib_outbuf_free(Outbuf *buf)
|
||||||
eina_array_flush(&buf->priv.onebuf_regions);
|
eina_array_flush(&buf->priv.onebuf_regions);
|
||||||
free(buf);
|
free(buf);
|
||||||
_clear_xob(0);
|
_clear_xob(0);
|
||||||
eina_spinlock_free(&shmpool_lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Outbuf *
|
Outbuf *
|
||||||
|
|
Loading…
Reference in New Issue