NetSurf
Data Structures | Functions | Variables
schedule.c File Reference
#include <stdlib.h>
#include <time.h>
#include "utils/sys_time.h"
#include "utils/log.h"
#include "utils/errors.h"
#include "windows/schedule.h"
Include dependency graph for schedule.c:

Go to the source code of this file.

Data Structures

struct  nscallback
 scheduled callback. More...
 

Functions

static nserror schedule_remove (void(*callback)(void *p), void *p)
 Unschedule a callback. More...
 
nserror win32_schedule (int ival, void(*callback)(void *p), void *p)
 Schedule a callback. More...
 
int schedule_run (void)
 Process events up to current time. More...
 
void list_schedule (void)
 LOG all current scheduled events. More...
 

Variables

static struct nscallbackschedule_list = NULL
 

Function Documentation

◆ list_schedule()

void list_schedule ( void  )

LOG all current scheduled events.

Definition at line 214 of file schedule.c.

References nscallback::next, NSLOG, schedule_list, and nscallback::tv.

◆ schedule_remove()

static nserror schedule_remove ( void(*)(void *p)  callback,
void *  p 
)
static

Unschedule a callback.

Parameters
callbackcallback function
puser parameter, passed to callback function

All scheduled callbacks matching both callback and p are removed.

Definition at line 52 of file schedule.c.

References nscallback::callback, nscallback::next, NSERROR_OK, NSLOG, nscallback::p, and schedule_list.

Referenced by win32_schedule().

Here is the caller graph for this function:

◆ schedule_run()

int schedule_run ( void  )

Process events up to current time.

Process scheduled callbacks up to current time.

Returns
The number of miliseconds until the next scheduled event.

Definition at line 137 of file schedule.c.

References nscallback::callback, nscallback::next, NSLOG, nscallback::p, schedule_list, timercmp, timersub, and nscallback::tv.

◆ win32_schedule()

nserror win32_schedule ( int  ival,
void(*)(void *p)  callback,
void *  p 
)

Schedule a callback.

Parameters
ivalinterval before the callback should be made in ms
callbackcallback function
puser parameter, passed to callback function

The callback function will be called as soon as possible after t ms have passed.

Definition at line 99 of file schedule.c.

References nscallback::callback, nscallback::next, NSERROR_NOMEM, NSERROR_OK, NSLOG, nscallback::p, schedule_list, schedule_remove(), timeradd, and nscallback::tv.

Referenced by nsws_download_clear_data(), nsws_download_update_label(), and nsws_download_update_progress().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ schedule_list

struct nscallback* schedule_list = NULL
static

Definition at line 29 of file schedule.c.

Referenced by list_schedule(), schedule_remove(), schedule_run(), and win32_schedule().