Rev 4327 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4327 | Rev 4581 | ||
|---|---|---|---|
| Line 277... | Line 277... | ||
| 277 | /** |
277 | /** |
| 278 | * Grabs the input for kernel. |
278 | * Grabs the input for kernel. |
| 279 | */ |
279 | */ |
| 280 | void sgcn_grab(void) |
280 | void sgcn_grab(void) |
| 281 | { |
281 | { |
| 282 | kbd_disabled = true; |
282 | kbd_disabled = false; |
| 283 | } |
283 | } |
| 284 | 284 | ||
| 285 | /** |
285 | /** |
| 286 | * Releases the input so that userspace can use it. |
286 | * Releases the input so that userspace can use it. |
| 287 | */ |
287 | */ |
| Line 339... | Line 339... | ||
| 339 | * A public function which initializes input from the Serengeti console. |
339 | * A public function which initializes input from the Serengeti console. |
| 340 | */ |
340 | */ |
| 341 | sgcn_instance_t *sgcnin_init(void) |
341 | sgcn_instance_t *sgcnin_init(void) |
| 342 | { |
342 | { |
| 343 | sgcn_buffer_begin_init(); |
343 | sgcn_buffer_begin_init(); |
| 344 | 344 | ||
| 345 | sgcn_instance_t *instance = |
345 | sgcn_instance_t *instance = |
| 346 | malloc(sizeof(sgcn_instance_t), FRAME_ATOMIC); |
346 | malloc(sizeof(sgcn_instance_t), FRAME_ATOMIC); |
| - | 347 | ||
| 347 | if (!instance) |
348 | if (instance) { |
| 348 | return NULL; |
- | |
| 349 | - | ||
| 350 | instance->srlnin = NULL; |
349 | instance->srlnin = NULL; |
| 351 | instance->thread = thread_create(ksgcnpoll, instance, TASK, 0, |
350 | instance->thread = thread_create(ksgcnpoll, instance, TASK, 0, |
| 352 | "ksgcnpoll", true); |
351 | "ksgcnpoll", true); |
| - | 352 | ||
| 353 | if (!instance->thread) { |
353 | if (!instance->thread) { |
| 354 | free(instance); |
354 | free(instance); |
| 355 | return NULL; |
355 | return NULL; |
| - | 356 | } |
|
| 356 | } |
357 | } |
| 357 | 358 | ||
| 358 | return instance; |
359 | return instance; |
| 359 | } |
360 | } |
| 360 | 361 | ||