source: libcfa/src/concurrency/preemption.hfa @ 8465b4d

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 8465b4d was e660761, checked in by Thierry Delisle <tdelisle@…>, 4 years ago

First attempt at reducing complation time by restructuring the code.
Notably, starting the runtime has been moved to kernel/startup.cfa

  • Property mode set to 100644
File size: 881 bytes
RevLine 
[c81ebf9]1//
2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
[73abe95]7// preemption.hfa --
[c81ebf9]8//
9// Author           : Thierry Delisle
10// Created On       : Mon Jun 5 14:20:42 2017
[6b0b624]11// Last Modified By : Peter A. Buhr
[2a84d06d]12// Last Modified On : Fri Mar 23 17:18:53 2018
13// Update Count     : 2
[c81ebf9]14//
15
[6b0b624]16#pragma once
[c81ebf9]17
[e660761]18#include "bits/locks.hfa"
[73abe95]19#include "alarm.hfa"
[c81ebf9]20
[e660761]21struct event_kernel_t {
22        alarm_list_t alarms;
23        __spinlock_t lock;
24};
25
26extern event_kernel_t * event_kernel;
27
[2a84d06d]28void update_preemption( processor * this, Duration duration );
[c81ebf9]29
30struct preemption_scope {
31        alarm_node_t alarm;
32        processor * proc;
33};
34
[242a902]35void ?{}( preemption_scope & this, processor * proc );
36void ^?{}( preemption_scope & this );
[c81ebf9]37
[6b0b624]38// Local Variables: //
39// mode: c //
40// tab-width: 4 //
41// End: //
Note: See TracBrowser for help on using the repository browser.