summaryrefslogtreecommitdiff
path: root/community/gsoc/project_ideas/file_locking.mdwn
blob: 0c057639e38b67777ec16fc66a329bb5af4b78b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU_Free_Documentation_License|/fdl]]."]]"""]]

[[!meta title="Fix File Locking"]]

Over the years, [[UNIX]] has aquired a host of different file locking mechanisms.
Some of them work on the Hurd, while others are buggy or only partially
implemented. This breaks many applications.

The goal is to make all file locking mechanisms work properly. This requires
finding all existing shortcomings (through systematic testing and/or checking
for known issues in the bug tracker and mailing list archives), and fixing
them.

This task will require digging into parts of the code to understand how file
locking works on the Hurd. Only general programming skills are required.

Possible mentors: Samuel Thibault (youpi)

Exercise: Find one of the existing issues, either by looking at the task/bug
trackers on savannah, or by trying things out yourself; and take a go at it.
Note though that most of these issues are probably not trivial -- it's quite
likely that you won't be able to actually fix any of them in the time available
during the application process. However, you might be able to spot something
else that could be improved while looking into this.

If after trying for a while you haven't found anything easy enough to improve
in the locking-related code, talk to us about some alternative exercise task.
Perhaps you actually find something you could do while looking through the bug
tracker or trying stuff yourself in search of locking issues :-)