priority-donate-one test now passes. All I did was make the semamphore's waiting list a priority queue by inserting threads in order of priority in the sema_down() function.