2004 Uncle Tobys Hardcourts – Doubles
The doubles tournament for the 2004 Uncle Tobys Hardcourts was won by Russian pair, Svetlana Kuznetsova and Elena Likhovtseva who defeated South African player Liezel Huber and Magdalena Maleeva from Bulgaria 6–3, 6–4 in the final. For Kuznetsova, this was her second Gold Coast title after winning with Martina Navratilova in 2003. This was also Likhovtseva second Gold Coast title after winning the tournament in 1998 with Japanese doubles partner Ai Sugiyama.
Doubles | |
---|---|
2004 Uncle Tobys Hardcourts | |
Champions | |
Runners-up | |
Final score | 6–3, 6–4 |
Seeds
Svetlana Kuznetsova / Elena Likhovtseva (Champions) Liezel Huber / Magdalena Maleeva (Final) Nadia Petrova / Meghann Shaughnessy (Quarterfinals) Émilie Loit / Nicole Pratt (Semifinals)
Draw
Key
- Q = Qualifier
- WC = Wild Card
- LL = Lucky Loser
- Alt = Alternate
- SE = Special Exempt
- PR = Protected Ranking
- ITF = ITF entry
- JE = Junior Exempt
- w/o = Walkover
- r = Retired
- d = Defaulted
Draw
First Round | Quarterfinals | Semifinals | Final | ||||||||||||||||||||||||
1 | 63 | 6 | 6 | ||||||||||||||||||||||||
77 | 3 | 1 | 1 | 7 | 6 | ||||||||||||||||||||||
LL | 5 | 3 | Q | 5 | 2 | ||||||||||||||||||||||
Q | 7 | 6 | 1 | 6 | 6 | ||||||||||||||||||||||
4 | 6 | 6 | 4 | 3 | 3 | ||||||||||||||||||||||
2 | 2 | 4 | 77 | 6 | |||||||||||||||||||||||
5 | 1 | WC | 65 | 3 | |||||||||||||||||||||||
WC | 7 | 6 | 1 | 6 | 6 | ||||||||||||||||||||||
77 | 1 | 2 | 2 | 3 | 4 | ||||||||||||||||||||||
62 | 6 | 6 | 6 | 3 | 7 | ||||||||||||||||||||||
4 | 3 | 3 | 3 | 6 | 5 | ||||||||||||||||||||||
3 | 6 | 6 | 6 | 4 | 4 | ||||||||||||||||||||||
2 | 7 | 4 | 2 | 2 | 6 | 6 | |||||||||||||||||||||
6 | 5 | 6 | |||||||||||||||||||||||||
6 | 2 | 62 | 2 | w/o | |||||||||||||||||||||||
2 | 2 | 6 | 77 |
gollark: Makes sense.
gollark: Hmm, so what extra features are needed?
gollark: Anyway, good news systemd-dislikers, I made an EXCELLENT and AMAZING replacement using the RUST programming language.
gollark: I have DashMap in here because of some vague dream of concurrently doing... stuff.
gollark: ```rustuse std::process::Command;use anyhow::Result;use std::path::Path;use std::fs;#[derive(serde::Serialize, serde::Deserialize, Debug)]struct RawServiceSpec { command: String, args: Vec<String>, name: Option<String>}#[derive(Debug)]struct ServiceSpec { command: String, args: Vec<String>, name: String}fn load_spec(path: &Path) -> Result<ServiceSpec> { let file = fs::read_to_string(path)?; let raw: RawServiceSpec = toml::from_str(&file)?; Ok(ServiceSpec { command: raw.command, args: raw.args, name: path.file_stem().unwrap().to_string_lossy().to_string() })}fn run_service(serv: ServiceSpec) -> Result<()> { println!("thread {:?}", serv); loop { println!("Starting"); let mut child = Command::new("/bin/env") .arg("python3") .arg("test.py") .spawn()?; child.wait()?; } Ok(())}fn main() -> Result<()> { let services = dashmap::DashMap::new(); for entry in fs::read_dir("./services")? { let s = load_spec(&entry?.path())?; services.insert(s.name.clone(), s); } let mut handles = Vec::new(); for e in services { handles.push(std::thread::spawn(|| run_service(e.1))); } for handle in handles { handle.join().unwrap(); } Ok(())}```
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.